home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO003.dsk / DEMOS / S.I.N.VALIDATOR.bas < prev    next >
BASIC Source File  |  2012-02-16  |  1KB  |  22 lines

  1. 1  REM :(S.I.N. VALIDATOR)
  2. 2  REM :(BY: MURRAY MACKENZIE)
  3. 3  REM :
  4. 4  TEXT : HOME : VTAB 2: HTAB 12: PRINT "S.I.N. VALIDATOR": HTAB 12: PRINT "================": PRINT : HTAB 12: PRINT "('END' TO EXIT )": PRINT : POKE 34,7: PRINT 
  5. 5  CLEAR : SPEED= 150: INPUT " ENTER S.I.N. ";A$
  6. 6  IF A$ = "END"  THEN  SPEED= 255: TEXT : HOME : END 
  7. 7  REM : ELIMINATE SPACES OR '-' IF THEY WERE ENTERED AS PART OF S.I.N.
  8. 8  FOR I = 1 TO  LEN(A$)
  9. 9  IF  MID$ (A$,I,1) =  CHR$(32)  OR  MID$ (A$,I,1) = "-"  OR  MID$ (A$,I,1) =  CHR$(47)  THEN I = I +1
  10. 10 B$ = B$ + MID$ (A$,I,1): NEXT 
  11. 11  REM  : S.I.N. NOW DIGITS ONLY AND RENAMED B$
  12. 12  IF  LEN(B$) < >9  THEN 21
  13. 13 B1$ =  MID$ (B$,2,1) + MID$ (B$,4,1) + MID$ (B$,6,1) + MID$ (B$,8,1)
  14. 14 B =  VAL(B1$):B = 2 *B:C$ =  STR$(B)
  15. 15 D = ( VAL( MID$ (C$,1,1))) +( VAL( MID$ (C$,2,1))) +( VAL( MID$ (C$,3,1))) +( VAL( MID$ (C$,4,1))) +( VAL( MID$ (C$,5,1)))
  16. 16 E = ( VAL( MID$ (B$,1,1))) +( VAL( MID$ (B$,3,1))) +( VAL( MID$ (B$,5,1))) +( VAL( MID$ (B$,7,1)))
  17. 17 F = D +E: IF F/10 =  INT(F/10)  THEN DIGIT = 0: GOTO 20
  18. 18 F = F +1:Z = Z +1: IF F/10 =  INT(F/10)  THEN DIGIT = Z: GOTO 20
  19. 19  GOTO 18
  20. 20  IF  STR$(DIGIT) =  RIGHT$(B$,1)  THEN  CALL  -998: PRINT "S.I.N. ";A$;" IS VALIDATED..": PRINT : PRINT : GOTO 5
  21. 21  CALL  -998: INVERSE : PRINT "S.I.N. ";A$;"<CTRL-G><CTRL-G><CTRL-G><CTRL-G> IS INVALID !!": NORMAL : PRINT : PRINT : GOTO 5
  22. 22  REM VALADATION COMPLIES WITH    REVENUE CANADA FORMULA.